﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Web.UI.WebControls;
using Web.SystemLogin.Services;
using DreamBuilder.Core.Container;
using CommonModule;

namespace Web.Views.SystemLogin
{
    /// <summary>
    /// Tree 的摘要说明。
    /// </summary>
    public partial class LeftTree : PageBase
    {
        //bool bController;
        //bool bSysController;
        ///// <summary>
        ///// DataTable to store the module list
        ///// </summary>
        //DataTable tblModule = null;

        ///// <summary>
        ///// load module list from database
        ///// </summary>
        //private void GetTreeModuleTable()
        //{
        //    IModule ModuleComponent = UContainer.Resolve<IModule>();
        //    tblModule = ModuleComponent.SelectTreeModules();
        //}

        ///// <summary>
        ///// get the sub modules DataTable in the module and fill the tree
        ///// </summary>
        ///// <param name="Parent_Menu_ID">要增加子节点的节点</param>
        ///// <param name="tnParent"></param>
        ///// <returns></returns>
        //private void GetSubModulesAndBuildTree(string Parent_Menu_ID, TreeNode tnParent)
        //{
        //    //获取模块列表
        //    if (tblModule == null)
        //    {
        //        GetTreeModuleTable();
        //    }

        //    //DataTable tbl=tblModule.Clone();
        //    bool find = false;

        //    if (Parent_Menu_ID == null)
        //    {
        //        //如果父模块编号为空，为根节点
        //        foreach (DataRow dr in tblModule.Rows)
        //        {
        //            //取出对应的节点（父节点为空）
        //            if (dr["Parent_Menu_ID"] == DBNull.Value)
        //            {
        //                //tbl.Rows.Add (dr.ItemArray );
        //                TreeNode tnsub = new TreeNode();
        //                string menuID = (string)dr["Menu_ID"];
        //                bool Is_Leaf_Menu = IsLeafMenu(menuID);
        //                tnsub.Value = menuID;
        //                //tnsub.Text=dr["Menu_Name"].ToString ();
        //                try
        //                {
        //                    //获得模块的本地化名称
        //                    tnsub.Text = GetPublicString("Modules", dr["Menu_ID"].ToString());
        //                    //如果没有对应的本地化名称，则使用数据库中默认的模块名
        //                    if (tnsub.Text == String.Empty)
        //                    {
        //                        tnsub.Text = dr["Menu_Name"].ToString();
        //                    }
        //                }
        //                catch
        //                {
        //                    tnsub.Text = dr["Menu_Name"].ToString();
        //                }
        //                if (dr["Menu_URL"].ToString().ToLower() == "desktop.aspx")
        //                {
        //                    tnsub.NavigateUrl = "loadingpage.aspx?Menu_URL=" + Server.UrlEncode(dr["Menu_URL"].ToString());
        //                }
        //                else if (dr["Menu_URL"].ToString().Length == 0)
        //                {
        //                    tnsub.NavigateUrl = "";
        //                    tnsub.SelectAction = TreeNodeSelectAction.Expand;
        //                }
        //                else
        //                {
        //                    tnsub.NavigateUrl = "loadingpage.aspx?Menu_URL=../../" + Server.UrlEncode(dr["Menu_URL"].ToString());
        //                }
        //                //tvModule.Nodes.Add (tnsub);

        //                //delete the node from the datatable,reduce the search cost
        //                //tblModule.Rows.Remove(dr);
        //                //找到了最少一个模块
        //                find = true;
        //                if (!Is_Leaf_Menu)
        //                {//如果不为叶节点，则处理该节点的子节点
        //                    tvModule.Nodes.Add(tnsub);
        //                    GetSubModulesAndBuildTree(menuID, tnsub);
        //                    if (tnsub.ChildNodes.Count == 0)
        //                    {//如果没有任何子节点，则删除此节点
        //                        tvModule.Nodes.Remove(tnsub);
        //                    }
        //                }
        //                else
        //                {
        //                    //如果是公共菜单节点，则直接添加，并采用不同的图标
        //                    //否则判断是否有ViewAll，ViewDeptAll，ViewDept，ViewCreate四个权限之一，有则显示
        //                    if (dr["IsPublicMenu"].ToString().ToBoolean())
        //                    {
        //                        //如果为公共模块，则显示不同的图标
        //                        tnsub.ImageUrl = "../Images/Tree/Icon/PinkItem.gif";
        //                        tvModule.Nodes.Add(tnsub);

        //                    }
        //                    else if (this.HasAuthority("ViewAll", menuID)
        //                        || this.HasAuthority("ViewDeptAll", menuID)
        //                        || this.HasAuthority("ViewDept", menuID)
        //                        || this.HasAuthority("ViewCreate", menuID))
        //                    {
        //                        tnsub.ImageUrl = "../../Images/Tree/Icon/Item.gif";
        //                        tvModule.Nodes.Add(tnsub);
        //                    } 
        //                }
        //            }
        //            else if (find)
        //            {
        //                break;
        //            }
        //        }
        //    }
        //    else
        //    {//处理同上
        //        foreach (DataRow dr in tblModule.Rows)
        //        {
        //            if (dr["Parent_Menu_ID"].ToString().ToLower() == Parent_Menu_ID.ToLower())
        //            {
        //                //tbl.Rows.Add (dr.ItemArray );
        //                TreeNode tnsub = new TreeNode();
        //                string menuID = (string)dr["Menu_ID"];
        //                bool Is_Leaf_Menu = IsLeafMenu(menuID);
        //                tnsub.Value = menuID;
        //                //tnsub.Text=dr["Menu_Name"].ToString ();
        //                try
        //                {
        //                    tnsub.Text = GetPublicString("Modules", dr["Menu_ID"].ToString());

        //                    if (tnsub.Text == String.Empty)
        //                    {
        //                        tnsub.Text = dr["Menu_Name"].ToString();
        //                    }

        //                }
        //                catch
        //                {
        //                    tnsub.Text = dr["Menu_Name"].ToString();
        //                }
        //                if (dr["Menu_URL"].ToString().ToLower() == "desktop.aspx")
        //                {
        //                    tnsub.NavigateUrl = "loadingpage.aspx?Menu_URL=" + Server.UrlEncode(dr["Menu_URL"].ToString());
        //                }
        //                else if (dr["Menu_URL"].ToString().Trim().Length == 0)
        //                {
        //                    tnsub.NavigateUrl = "";
        //                    tnsub.SelectAction = TreeNodeSelectAction.Expand;
        //                }
        //                else
        //                {
        //                    tnsub.NavigateUrl = "loadingpage.aspx?Menu_URL=../../" + Server.UrlEncode(dr["Menu_URL"].ToString());
        //                }

        //                find = true;
        //                if (!Is_Leaf_Menu)
        //                {
        //                    tnParent.ChildNodes.Add(tnsub);
        //                    GetSubModulesAndBuildTree(menuID, tnsub);
        //                    if (tnsub.ChildNodes.Count == 0)
        //                    {
        //                        //如果没有任何子节点，则删除此节点
        //                        tnParent.ChildNodes.Remove(tnsub);
        //                    }
        //                }
        //                else
        //                {
        //                    if (menuID == "ePlanet.Desktop")
        //                    {
        //                        tnsub.ImageUrl = "../../Images/Tree/Icon/desktop.gif";
        //                        tnParent.ChildNodes.Add(tnsub);
        //                    } 
        //                    //如果是公共菜单节点，则直接添加，并采用不同的图标
        //                    //否则判断是否有ViewAll，ViewDeptAll，ViewDept，ViewCreate四个权限之一，有则显示
        //                    else if (dr["IsPublicMenu"].ToString().ToBoolean())
        //                    {
        //                        //如果为公共模块，则显示不同的图标
        //                        tnsub.ImageUrl = "../../Images/Tree/Icon/PinkItem.gif";
        //                        tnParent.ChildNodes.Add(tnsub);

        //                    }
        //                    else 
        //                    {
                                //if (this.HasAuthority("ViewAll", menuID)
                                //    || this.HasAuthority("ViewDeptAll", menuID)
                                //    || this.HasAuthority("ViewDept", menuID)
                                //    || this.HasAuthority("ViewCreate", menuID))
        //                        {
        //                            tnsub.ImageUrl = "../../Images/Tree/Icon/Item.gif";
        //                            tnParent.ChildNodes.Add(tnsub);
        //                        } 
        //                    }
        //                }
        //                //add by ysp 2011-06-29 发文
        //                if (tnParent.ChildNodes.Count > 0)
        //                {
        //                    if (menuID == "ePlanet.SFDocs.WFDocsHistory" || menuID == "ePlanet.SFDocs.ReceiveUser" || menuID == "ePlanet.SFDocs.GetRFDeal")
        //                        //如果不需要显示此节点，则删除此节点
        //                        tnParent.ChildNodes.Remove(tnsub);
        //                    //add by ysp 2011-07-06 收文
        //                    if (menuID == "ePlanet.RFDocs.ReceiveUser" || menuID == "ePlanet.RFDocs.History")
        //                        //如果不需要显示此节点，则删除此节点
        //                        tnParent.ChildNodes.Remove(tnsub);
        //                }
        //            }
        //            else if (find)
        //            {
        //                break;
        //            }
        //        }
        //    }
        //    //return tbl;			
        //}

        //private bool IsLeafMenu(string moduleID)
        //{
        //    DataRow [] arrDr = tblModule.Select(" Parent_Menu_ID = '" + moduleID + "' ");
        //    if (arrDr.Length>0)
        //    {
        //        return false;
        //    }
        //    else
        //    {
        //        return true;
        //    }
        //}

        //protected void Page_Load(object sender, EventArgs e)
        //{
        //    this.DBHelpName = DBHelperString.Dictionary;
        //    if (!Page.IsPostBack)
        //    {
        //        //litTopis.Text = "GeoEast推广应用网上管理系统";
        //        GetSubModulesAndBuildTree(null, null);
        //    }
           
        //}



        //#region Web 窗体设计器生成的代码
        ///// <summary>
        ///// 自动生成
        ///// </summary>
        ///// <param name="e"></param>
        //override protected void OnInit(EventArgs e)
        //{
        //    //
        //    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
        //    //
        //    InitializeComponent();
        //    base.OnInit(e);
        //}

        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {

        }
    }
}
